<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-2"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-3"></span><span class="hs-comment">-- Module      :  Distribution.Simple.Build.Macros</span><span>
</span><span id="line-4"></span><span class="hs-comment">-- Copyright   :  Isaac Jones 2003-2005,</span><span>
</span><span id="line-5"></span><span class="hs-comment">--                Ross Paterson 2006,</span><span>
</span><span id="line-6"></span><span class="hs-comment">--                Duncan Coutts 2007-2008</span><span>
</span><span id="line-7"></span><span class="hs-comment">--</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- Maintainer  :  cabal-devel@haskell.org</span><span>
</span><span id="line-9"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-10"></span><span class="hs-comment">--</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Generating the Paths_pkgname module.</span><span>
</span><span id="line-12"></span><span class="hs-comment">--</span><span>
</span><span id="line-13"></span><span class="hs-comment">-- This is a module that Cabal generates for the benefit of packages. It</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- enables them to find their version number and find any installed data files</span><span>
</span><span id="line-15"></span><span class="hs-comment">-- at runtime. This code should probably be split off into another module.</span><span>
</span><span id="line-16"></span><span class="hs-comment">--</span><span>
</span><span id="line-17"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Simple.Build.PathsModule</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-18"></span><span>    </span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#generatePathsModule"><span class="hs-identifier">generatePathsModule</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#pkgPathEnvVar"><span class="hs-identifier">pkgPathEnvVar</span></a></span><span>
</span><span id="line-19"></span><span>  </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-20"></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-23"></span><span>
</span><span id="line-24"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.System.html"><span class="hs-identifier">Distribution.System</span></a></span><span>
</span><span id="line-25"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Compiler.html"><span class="hs-identifier">Distribution.Simple.Compiler</span></a></span><span>
</span><span id="line-26"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Package.html"><span class="hs-identifier">Distribution.Package</span></a></span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.PackageDescription.html"><span class="hs-identifier">Distribution.PackageDescription</span></a></span><span>
</span><span id="line-28"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.LocalBuildInfo.html"><span class="hs-identifier">Distribution.Simple.LocalBuildInfo</span></a></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.BuildPaths.html"><span class="hs-identifier">Distribution.Simple.BuildPaths</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Simple.Utils.html"><span class="hs-identifier">Distribution.Simple.Utils</span></a></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Pretty.html"><span class="hs-identifier">Distribution.Pretty</span></a></span><span>
</span><span id="line-32"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Version.html"><span class="hs-identifier">Distribution.Version</span></a></span><span>
</span><span id="line-33"></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.html#"><span class="hs-identifier">System.FilePath</span></a></span><span> </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../filepath/src/System.FilePath.Windows.html#pathSeparator"><span class="hs-identifier">pathSeparator</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-35"></span><span>
</span><span id="line-36"></span><span class="hs-comment">-- ------------------------------------------------------------</span><span>
</span><span id="line-37"></span><span class="hs-comment">-- * Building Paths_&lt;pkg&gt;.hs</span><span>
</span><span id="line-38"></span><span class="hs-comment">-- ------------------------------------------------------------</span><span>
</span><span id="line-39"></span><span>
</span><span id="line-40"></span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#generatePathsModule"><span class="hs-identifier hs-type">generatePathsModule</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.LocalBuildInfo.html#LocalBuildInfo"><span class="hs-identifier hs-type">LocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentLocalBuildInfo.html#ComponentLocalBuildInfo"><span class="hs-identifier hs-type">ComponentLocalBuildInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-41"></span><span id="generatePathsModule"><span class="annot"><span class="annottext">generatePathsModule :: PackageDescription
-&gt; LocalBuildInfo -&gt; ComponentLocalBuildInfo -&gt; String
</span><a href="Distribution.Simple.Build.PathsModule.html#generatePathsModule"><span class="hs-identifier hs-var hs-var">generatePathsModule</span></a></span></span><span> </span><span id="local-6989586621679714833"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679714832"><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679714832"><span class="hs-identifier hs-var">lbi</span></a></span></span><span> </span><span id="local-6989586621679714831"><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679714831"><span class="hs-identifier hs-var">clbi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-42"></span><span>   </span><span class="hs-keyword">let</span><span> </span><span id="local-6989586621679714830"><span class="annot"><span class="annottext">pragmas :: String
</span><a href="#local-6989586621679714830"><span class="hs-identifier hs-var hs-var">pragmas</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-43"></span><span>            </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714829"><span class="hs-identifier hs-var">cpp_pragma</span></a></span><span>
</span><span id="line-44"></span><span>         </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714828"><span class="hs-identifier hs-var">no_rebindable_syntax_pragma</span></a></span><span>
</span><span id="line-45"></span><span>         </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714827"><span class="hs-identifier hs-var">ffi_pragmas</span></a></span><span>
</span><span id="line-46"></span><span>         </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714826"><span class="hs-identifier hs-var">warning_pragmas</span></a></span><span>
</span><span id="line-47"></span><span>
</span><span id="line-48"></span><span>       </span><span id="local-6989586621679714829"><span class="annot"><span class="annottext">cpp_pragma :: String
</span><a href="#local-6989586621679714829"><span class="hs-identifier hs-var hs-var">cpp_pragma</span></a></span></span><span>
</span><span id="line-49"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714825"><span class="hs-identifier hs-var">supports_cpp</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# LANGUAGE CPP #-}\n&quot;</span></span><span>
</span><span id="line-50"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-51"></span><span>
</span><span id="line-52"></span><span>       </span><span class="hs-comment">-- -XRebindableSyntax is problematic because when paired with</span><span>
</span><span id="line-53"></span><span>       </span><span class="hs-comment">-- -XOverloadedLists, 'fromListN' is not in scope,</span><span>
</span><span id="line-54"></span><span>       </span><span class="hs-comment">-- or -XOverloadedStrings 'fromString' is not in scope,</span><span>
</span><span id="line-55"></span><span>       </span><span class="hs-comment">-- so we disable 'RebindableSyntax'.</span><span>
</span><span id="line-56"></span><span>       </span><span id="local-6989586621679714828"><span class="annot"><span class="annottext">no_rebindable_syntax_pragma :: String
</span><a href="#local-6989586621679714828"><span class="hs-identifier hs-var hs-var">no_rebindable_syntax_pragma</span></a></span></span><span>
</span><span id="line-57"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714824"><span class="hs-identifier hs-var">supports_rebindable_syntax</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# LANGUAGE NoRebindableSyntax #-}\n&quot;</span></span><span>
</span><span id="line-58"></span><span>         </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span>       </span><span id="local-6989586621679714827"><span class="annot"><span class="annottext">ffi_pragmas :: String
</span><a href="#local-6989586621679714827"><span class="hs-identifier hs-var hs-var">ffi_pragmas</span></a></span></span><span>
</span><span id="line-61"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714823"><span class="hs-identifier hs-var">absolute</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-62"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714822"><span class="hs-identifier hs-var">supports_language_pragma</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-63"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# LANGUAGE ForeignFunctionInterface #-}\n&quot;</span></span><span>
</span><span id="line-64"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-65"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# OPTIONS_GHC -fffi #-}\n&quot;</span></span><span>
</span><span id="line-66"></span><span>
</span><span id="line-67"></span><span>       </span><span id="local-6989586621679714826"><span class="annot"><span class="annottext">warning_pragmas :: String
</span><a href="#local-6989586621679714826"><span class="hs-identifier hs-var hs-var">warning_pragmas</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; String
</span><a href="../../base/src/Data.OldList.html#unlines"><span class="hs-identifier hs-var">unlines</span></a></span><span> </span><span class="annot"><span class="annottext">([String] -&gt; String) -&gt; [String] -&gt; String
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span>
</span><span id="line-68"></span><span>        </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# OPTIONS_GHC -fno-warn-missing-import-lists #-}&quot;</span></span><span> </span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">[String] -&gt; [String] -&gt; [String]
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-69"></span><span>        </span><span class="hs-special">[</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;{-# OPTIONS_GHC -Wno-missing-safe-haskell-mode #-}&quot;</span></span><span> </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714820"><span class="hs-identifier hs-var">supports_missing_safehaskell</span></a></span><span> </span><span class="hs-special">]</span><span>
</span><span id="line-70"></span><span>
</span><span id="line-71"></span><span>       </span><span id="local-6989586621679714819"><span class="annot"><span class="annottext">foreign_imports :: String
</span><a href="#local-6989586621679714819"><span class="hs-identifier hs-var hs-var">foreign_imports</span></a></span></span><span>
</span><span id="line-72"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714823"><span class="hs-identifier hs-var">absolute</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-73"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-74"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import Foreign\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-75"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import Foreign.C\n&quot;</span></span><span>
</span><span id="line-76"></span><span>
</span><span id="line-77"></span><span>       </span><span id="local-6989586621679714818"><span class="annot"><span class="annottext">reloc_imports :: String
</span><a href="#local-6989586621679714818"><span class="hs-identifier hs-var hs-var">reloc_imports</span></a></span></span><span>
</span><span id="line-78"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714817"><span class="hs-identifier hs-var">reloc</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-79"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import System.Environment (getExecutablePath)\n&quot;</span></span><span>
</span><span id="line-80"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-81"></span><span>
</span><span id="line-82"></span><span>       </span><span id="local-6989586621679714810"><span class="annot"><span class="annottext">header :: String
</span><a href="#local-6989586621679714810"><span class="hs-identifier hs-var hs-var">header</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-83"></span><span>        </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714830"><span class="hs-identifier hs-var">pragmas</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-84"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;module &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621679714808"><span class="hs-identifier hs-var">paths_modulename</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; (\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-85"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;    version,\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-86"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;    getBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir,\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-87"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;    getDataFileName, getSysconfDir\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-88"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  ) where\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-89"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-90"></span><span>        </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714819"><span class="hs-identifier hs-var">foreign_imports</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-91"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import qualified Control.Exception as Exception\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-92"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import Data.Version (Version(..))\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-93"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import System.Environment (getEnv)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-94"></span><span>        </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714818"><span class="hs-identifier hs-var">reloc_imports</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-95"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import Prelude\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-96"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-97"></span><span>        </span><span class="hs-special">(</span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714825"><span class="hs-identifier hs-var">supports_cpp</span></a></span><span>
</span><span id="line-98"></span><span>         </span><span class="hs-keyword">then</span><span>
</span><span id="line-99"></span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#if defined(VERSION_base)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-100"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-101"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#if MIN_VERSION_base(4,0,0)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-102"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;catchIO :: IO a -&gt; (Exception.IOException -&gt; IO a) -&gt; IO a\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-103"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#else\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-104"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;catchIO :: IO a -&gt; (Exception.Exception -&gt; IO a) -&gt; IO a\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-105"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#endif\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-106"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-107"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#else\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-108"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;catchIO :: IO a -&gt; (Exception.IOException -&gt; IO a) -&gt; IO a\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-109"></span><span>            </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#endif\n&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-110"></span><span>         </span><span class="hs-keyword">else</span><span>
</span><span id="line-111"></span><span>           </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;catchIO :: IO a -&gt; (Exception.IOException -&gt; IO a) -&gt; IO a\n&quot;</span></span><span class="hs-special">)</span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-112"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;catchIO = Exception.catch\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-113"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-114"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;version :: Version&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-115"></span><span>        </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nversion = Version &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">[Int] -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">[Int]
</span><a href="#local-6989586621679714806"><span class="hs-identifier hs-var">branch</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; []&quot;</span></span><span>
</span><span id="line-116"></span><span>          </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679714806"><span class="annot"><span class="annottext">branch :: [Int]
</span><a href="#local-6989586621679714806"><span class="hs-identifier hs-var hs-var">branch</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Version -&gt; [Int]
</span><a href="Distribution.Types.Version.html#versionNumbers"><span class="hs-identifier hs-var">versionNumbers</span></a></span><span> </span><span class="annot"><span class="annottext">(Version -&gt; [Int]) -&gt; Version -&gt; [Int]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; Version
forall pkg. Package pkg =&gt; pkg -&gt; Version
</span><a href="Distribution.Package.html#packageVersion"><span class="hs-identifier hs-var">packageVersion</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-117"></span><span>
</span><span id="line-118"></span><span>       </span><span id="local-6989586621679714779"><span class="annot"><span class="annottext">body :: String
</span><a href="#local-6989586621679714779"><span class="hs-identifier hs-var hs-var">body</span></a></span></span><span>
</span><span id="line-119"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714817"><span class="hs-identifier hs-var">reloc</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-120"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n\nbindirrel :: FilePath\n&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-121"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;bindirrel = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714778"><span class="hs-identifier hs-var">flat_bindirreloc</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-122"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-123"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\ngetBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-124"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getBinDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714777"><span class="hs-identifier hs-var">mkGetEnvOrReloc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;bindir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714778"><span class="hs-identifier hs-var">flat_bindirreloc</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-125"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714777"><span class="hs-identifier hs-var">mkGetEnvOrReloc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;libdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714776"><span class="hs-identifier hs-var">flat_libdirreloc</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-126"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDynLibDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714777"><span class="hs-identifier hs-var">mkGetEnvOrReloc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;libdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714775"><span class="hs-identifier hs-var">flat_dynlibdirreloc</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-127"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714777"><span class="hs-identifier hs-var">mkGetEnvOrReloc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;datadir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714774"><span class="hs-identifier hs-var">flat_datadirreloc</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-128"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibexecDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714777"><span class="hs-identifier hs-var">mkGetEnvOrReloc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;libexecdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714773"><span class="hs-identifier hs-var">flat_libexecdirreloc</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-129"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getSysconfDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714777"><span class="hs-identifier hs-var">mkGetEnvOrReloc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sysconfdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714772"><span class="hs-identifier hs-var">flat_sysconfdirreloc</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-130"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-131"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataFileName :: FilePath -&gt; IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-132"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataFileName name = do\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-133"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  dir &lt;- getDataDir\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-134"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  return (dir `joinFileName` name)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-135"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-136"></span><span>          </span><span class="annot"><span class="annottext">String
</span><a href="Distribution.Simple.Build.PathsModule.html#get_prefix_reloc_stuff"><span class="hs-identifier hs-var">get_prefix_reloc_stuff</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-137"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-138"></span><span>          </span><span class="annot"><span class="annottext">String
</span><a href="Distribution.Simple.Build.PathsModule.html#filename_stuff"><span class="hs-identifier hs-var">filename_stuff</span></a></span><span>
</span><span id="line-139"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714823"><span class="hs-identifier hs-var">absolute</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-140"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nbindir, libdir, dynlibdir, datadir, libexecdir, sysconfdir :: FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-141"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nbindir     = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714769"><span class="hs-identifier hs-var">flat_bindir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-142"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nlibdir     = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714768"><span class="hs-identifier hs-var">flat_libdir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-143"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\ndynlibdir  = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714767"><span class="hs-identifier hs-var">flat_dynlibdir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-144"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\ndatadir    = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714766"><span class="hs-identifier hs-var">flat_datadir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-145"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nlibexecdir = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714765"><span class="hs-identifier hs-var">flat_libexecdir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-146"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nsysconfdir = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714764"><span class="hs-identifier hs-var">flat_sysconfdir</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-147"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-148"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\ngetBinDir, getLibDir, getDynLibDir, getDataDir, getLibexecDir, getSysconfDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-149"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getBinDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var">mkGetEnvOr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;bindir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;return bindir&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-150"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var">mkGetEnvOr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;libdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;return libdir&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-151"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDynLibDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var">mkGetEnvOr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;dynlibdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;return dynlibdir&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-152"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var">mkGetEnvOr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;datadir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;return datadir&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-153"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibexecDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var">mkGetEnvOr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;libexecdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;return libexecdir&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-154"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getSysconfDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var">mkGetEnvOr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;sysconfdir&quot;</span></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;return sysconfdir&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-155"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-156"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataFileName :: FilePath -&gt; IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-157"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataFileName name = do\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-158"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  dir &lt;- getDataDir\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-159"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  return (dir ++ &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714762"><span class="hs-identifier hs-var">path_sep</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; ++ name)\n&quot;</span></span><span>
</span><span id="line-160"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-161"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nprefix, bindirrel :: FilePath&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-162"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nprefix        = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-163"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\nbindirrel     = &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Maybe String -&gt; String
forall a. a -&gt; Maybe a -&gt; a
</span><a href="../../base/src/Data.Maybe.html#fromMaybe"><span class="hs-identifier hs-var">fromMaybe</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; String
forall a. HasCallStack =&gt; String -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;PathsModule.generate&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714758"><span class="hs-identifier hs-var">flat_bindirrel</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-164"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-165"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getBinDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-166"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getBinDir = getPrefixDirRel bindirrel\n\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-167"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-168"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; Maybe String -&gt; String
forall {a} {a}. (Show a, Show a) =&gt; a -&gt; Maybe a -&gt; String
</span><a href="#local-6989586621679714757"><span class="hs-identifier hs-var">mkGetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714768"><span class="hs-identifier hs-var">flat_libdir</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714756"><span class="hs-identifier hs-var">flat_libdirrel</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-169"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDynLibDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-170"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDynLibDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; Maybe String -&gt; String
forall {a} {a}. (Show a, Show a) =&gt; a -&gt; Maybe a -&gt; String
</span><a href="#local-6989586621679714757"><span class="hs-identifier hs-var">mkGetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714767"><span class="hs-identifier hs-var">flat_dynlibdir</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714755"><span class="hs-identifier hs-var">flat_dynlibdirrel</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-171"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-172"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataDir =  &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var">mkGetEnvOr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;datadir&quot;</span></span><span>
</span><span id="line-173"></span><span>                              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Maybe String -&gt; String
forall {a} {a}. (Show a, Show a) =&gt; a -&gt; Maybe a -&gt; String
</span><a href="#local-6989586621679714757"><span class="hs-identifier hs-var">mkGetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714766"><span class="hs-identifier hs-var">flat_datadir</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714754"><span class="hs-identifier hs-var">flat_datadirrel</span></a></span><span class="hs-special">)</span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-174"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibexecDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-175"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getLibexecDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; Maybe String -&gt; String
forall {a} {a}. (Show a, Show a) =&gt; a -&gt; Maybe a -&gt; String
</span><a href="#local-6989586621679714757"><span class="hs-identifier hs-var">mkGetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714765"><span class="hs-identifier hs-var">flat_libexecdir</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714753"><span class="hs-identifier hs-var">flat_libexecdirrel</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-176"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getSysconfDir :: IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-177"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getSysconfDir = &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String -&gt; Maybe String -&gt; String
forall {a} {a}. (Show a, Show a) =&gt; a -&gt; Maybe a -&gt; String
</span><a href="#local-6989586621679714757"><span class="hs-identifier hs-var">mkGetDir</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714764"><span class="hs-identifier hs-var">flat_sysconfdir</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714752"><span class="hs-identifier hs-var">flat_sysconfdirrel</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-178"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataFileName :: FilePath -&gt; IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-179"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getDataFileName name = do\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-180"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  dir &lt;- getDataDir\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-181"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  return (dir `joinFileName` name)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-182"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-183"></span><span>          </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714751"><span class="hs-identifier hs-var">get_prefix_stuff</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-184"></span><span>          </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-185"></span><span>          </span><span class="annot"><span class="annottext">String
</span><a href="Distribution.Simple.Build.PathsModule.html#filename_stuff"><span class="hs-identifier hs-var">filename_stuff</span></a></span><span>
</span><span id="line-186"></span><span>   </span><span class="hs-keyword">in</span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714810"><span class="hs-identifier hs-var">header</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714779"><span class="hs-identifier hs-var">body</span></a></span><span>
</span><span id="line-187"></span><span>
</span><span id="line-188"></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-189"></span><span>        </span><span id="local-6989586621679714750"><span class="annot"><span class="annottext">cid :: UnitId
</span><a href="#local-6989586621679714750"><span class="hs-identifier hs-var hs-var">cid</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo -&gt; UnitId
</span><a href="Distribution.Types.ComponentLocalBuildInfo.html#componentUnitId"><span class="hs-identifier hs-var hs-var">componentUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">ComponentLocalBuildInfo
</span><a href="#local-6989586621679714831"><span class="hs-identifier hs-var">clbi</span></a></span><span>
</span><span id="line-190"></span><span>
</span><span id="line-191"></span><span>        </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#InstallDirs"><span class="hs-identifier hs-type">InstallDirs</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-192"></span><span>          </span><span class="annot"><span class="annottext">prefix :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#prefix"><span class="hs-identifier hs-var">prefix</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714761"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-193"></span><span>          </span><span class="annot"><span class="annottext">bindir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#bindir"><span class="hs-identifier hs-var">bindir</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714769"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714769"><span class="hs-identifier hs-var">flat_bindir</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-194"></span><span>          </span><span class="annot"><span class="annottext">libdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#libdir"><span class="hs-identifier hs-var">libdir</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714768"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714768"><span class="hs-identifier hs-var">flat_libdir</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-195"></span><span>          </span><span class="annot"><span class="annottext">dynlibdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#dynlibdir"><span class="hs-identifier hs-var">dynlibdir</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714767"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714767"><span class="hs-identifier hs-var">flat_dynlibdir</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-196"></span><span>          </span><span class="annot"><span class="annottext">datadir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#datadir"><span class="hs-identifier hs-var">datadir</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714766"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714766"><span class="hs-identifier hs-var">flat_datadir</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-197"></span><span>          </span><span class="annot"><span class="annottext">libexecdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#libexecdir"><span class="hs-identifier hs-var">libexecdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714765"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714765"><span class="hs-identifier hs-var">flat_libexecdir</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-198"></span><span>          </span><span class="annot"><span class="annottext">sysconfdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#sysconfdir"><span class="hs-identifier hs-var">sysconfdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714764"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714764"><span class="hs-identifier hs-var">flat_sysconfdir</span></a></span></span><span>
</span><span id="line-199"></span><span>        </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription
-&gt; LocalBuildInfo -&gt; UnitId -&gt; CopyDest -&gt; InstallDirs String
</span><a href="Distribution.Simple.LocalBuildInfo.html#absoluteInstallCommandDirs"><span class="hs-identifier hs-var">absoluteInstallCommandDirs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679714832"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621679714750"><span class="hs-identifier hs-var">cid</span></a></span><span> </span><span class="annot"><span class="annottext">CopyDest
</span><a href="Distribution.Simple.InstallDirs.html#NoCopyDest"><span class="hs-identifier hs-var">NoCopyDest</span></a></span><span>
</span><span id="line-200"></span><span>
</span><span id="line-201"></span><span>        </span><span class="annot"><a href="Distribution.Simple.InstallDirs.html#InstallDirs"><span class="hs-identifier hs-type">InstallDirs</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-202"></span><span>          </span><span class="annot"><span class="annottext">bindir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#bindir"><span class="hs-identifier hs-var">bindir</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714758"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714758"><span class="hs-identifier hs-var">flat_bindirrel</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-203"></span><span>          </span><span class="annot"><span class="annottext">libdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#libdir"><span class="hs-identifier hs-var">libdir</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714756"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714756"><span class="hs-identifier hs-var">flat_libdirrel</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-204"></span><span>          </span><span class="annot"><span class="annottext">dynlibdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#dynlibdir"><span class="hs-identifier hs-var">dynlibdir</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714755"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714755"><span class="hs-identifier hs-var">flat_dynlibdirrel</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-205"></span><span>          </span><span class="annot"><span class="annottext">datadir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#datadir"><span class="hs-identifier hs-var">datadir</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714754"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714754"><span class="hs-identifier hs-var">flat_datadirrel</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-206"></span><span>          </span><span class="annot"><span class="annottext">libexecdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#libexecdir"><span class="hs-identifier hs-var">libexecdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714753"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714753"><span class="hs-identifier hs-var">flat_libexecdirrel</span></a></span></span><span class="hs-special">,</span><span>
</span><span id="line-207"></span><span>          </span><span class="annot"><span class="annottext">sysconfdir :: forall dir. InstallDirs dir -&gt; dir
</span><a href="Distribution.Simple.InstallDirs.html#sysconfdir"><span class="hs-identifier hs-var">sysconfdir</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="local-6989586621679714752"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714752"><span class="hs-identifier hs-var">flat_sysconfdirrel</span></a></span></span><span>
</span><span id="line-208"></span><span>        </span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageId -&gt; LocalBuildInfo -&gt; UnitId -&gt; InstallDirs (Maybe String)
</span><a href="Distribution.Simple.LocalBuildInfo.html#prefixRelativeComponentInstallDirs"><span class="hs-identifier hs-var">prefixRelativeComponentInstallDirs</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageId
forall pkg. Package pkg =&gt; pkg -&gt; PackageId
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var">packageId</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679714832"><span class="hs-identifier hs-var">lbi</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621679714750"><span class="hs-identifier hs-var">cid</span></a></span><span>
</span><span id="line-209"></span><span>
</span><span id="line-210"></span><span>        </span><span id="local-6989586621679714778"><span class="annot"><span class="annottext">flat_bindirreloc :: String
</span><a href="#local-6989586621679714778"><span class="hs-identifier hs-var hs-var">flat_bindirreloc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="Distribution.Simple.Utils.html#shortRelativePath"><span class="hs-identifier hs-var">shortRelativePath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714769"><span class="hs-identifier hs-var">flat_bindir</span></a></span><span>
</span><span id="line-211"></span><span>        </span><span id="local-6989586621679714776"><span class="annot"><span class="annottext">flat_libdirreloc :: String
</span><a href="#local-6989586621679714776"><span class="hs-identifier hs-var hs-var">flat_libdirreloc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="Distribution.Simple.Utils.html#shortRelativePath"><span class="hs-identifier hs-var">shortRelativePath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714768"><span class="hs-identifier hs-var">flat_libdir</span></a></span><span>
</span><span id="line-212"></span><span>        </span><span id="local-6989586621679714775"><span class="annot"><span class="annottext">flat_dynlibdirreloc :: String
</span><a href="#local-6989586621679714775"><span class="hs-identifier hs-var hs-var">flat_dynlibdirreloc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="Distribution.Simple.Utils.html#shortRelativePath"><span class="hs-identifier hs-var">shortRelativePath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714767"><span class="hs-identifier hs-var">flat_dynlibdir</span></a></span><span>
</span><span id="line-213"></span><span>        </span><span id="local-6989586621679714774"><span class="annot"><span class="annottext">flat_datadirreloc :: String
</span><a href="#local-6989586621679714774"><span class="hs-identifier hs-var hs-var">flat_datadirreloc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="Distribution.Simple.Utils.html#shortRelativePath"><span class="hs-identifier hs-var">shortRelativePath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714766"><span class="hs-identifier hs-var">flat_datadir</span></a></span><span>
</span><span id="line-214"></span><span>        </span><span id="local-6989586621679714773"><span class="annot"><span class="annottext">flat_libexecdirreloc :: String
</span><a href="#local-6989586621679714773"><span class="hs-identifier hs-var hs-var">flat_libexecdirreloc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="Distribution.Simple.Utils.html#shortRelativePath"><span class="hs-identifier hs-var">shortRelativePath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714765"><span class="hs-identifier hs-var">flat_libexecdir</span></a></span><span>
</span><span id="line-215"></span><span>        </span><span id="local-6989586621679714772"><span class="annot"><span class="annottext">flat_sysconfdirreloc :: String
</span><a href="#local-6989586621679714772"><span class="hs-identifier hs-var hs-var">flat_sysconfdirreloc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
</span><a href="Distribution.Simple.Utils.html#shortRelativePath"><span class="hs-identifier hs-var">shortRelativePath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714761"><span class="hs-identifier hs-var">flat_prefix</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714764"><span class="hs-identifier hs-var">flat_sysconfdir</span></a></span><span>
</span><span id="line-216"></span><span>
</span><span id="line-217"></span><span>        </span><span id="local-6989586621679714757"><span class="annot"><span class="annottext">mkGetDir :: a -&gt; Maybe a -&gt; String
</span><a href="#local-6989586621679714757"><span class="hs-identifier hs-var hs-var">mkGetDir</span></a></span></span><span> </span><span class="annot"><span class="annottext">a
</span><span class="hs-identifier">_</span></span><span>   </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679714730"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679714730"><span class="hs-identifier hs-var">dirrel</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getPrefixDirRel &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679714730"><span class="hs-identifier hs-var">dirrel</span></a></span><span>
</span><span id="line-218"></span><span>        </span><span class="annot"><a href="#local-6989586621679714757"><span class="hs-identifier hs-var">mkGetDir</span></a></span><span> </span><span id="local-6989586621679714729"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679714729"><span class="hs-identifier hs-var">dir</span></a></span></span><span> </span><span class="annot"><span class="annottext">Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;return &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679714729"><span class="hs-identifier hs-var">dir</span></a></span><span>
</span><span id="line-219"></span><span>
</span><span id="line-220"></span><span>        </span><span id="local-6989586621679714777"><span class="annot"><span class="annottext">mkGetEnvOrReloc :: String -&gt; String -&gt; String
</span><a href="#local-6989586621679714777"><span class="hs-identifier hs-var hs-var">mkGetEnvOrReloc</span></a></span></span><span> </span><span id="local-6989586621679714728"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714728"><span class="hs-identifier hs-var">var</span></a></span></span><span> </span><span id="local-6989586621679714727"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714727"><span class="hs-identifier hs-var">dirrel</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;catchIO (getEnv \&quot;&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714726"><span class="hs-identifier hs-var">var'</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\&quot;)&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-221"></span><span>                                     </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; (\\_ -&gt; getPrefixDirReloc \&quot;&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714727"><span class="hs-identifier hs-var">dirrel</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-222"></span><span>                                     </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\&quot;)&quot;</span></span><span>
</span><span id="line-223"></span><span>          </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679714726"><span class="annot"><span class="annottext">var' :: String
</span><a href="#local-6989586621679714726"><span class="hs-identifier hs-var hs-var">var'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String -&gt; String
</span><a href="Distribution.Simple.Build.PathsModule.html#pkgPathEnvVar"><span class="hs-identifier hs-var">pkgPathEnvVar</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714728"><span class="hs-identifier hs-var">var</span></a></span><span>
</span><span id="line-224"></span><span>
</span><span id="line-225"></span><span>        </span><span id="local-6989586621679714763"><span class="annot"><span class="annottext">mkGetEnvOr :: String -&gt; String -&gt; String
</span><a href="#local-6989586621679714763"><span class="hs-identifier hs-var hs-var">mkGetEnvOr</span></a></span></span><span> </span><span id="local-6989586621679714725"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714725"><span class="hs-identifier hs-var">var</span></a></span></span><span> </span><span id="local-6989586621679714724"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714724"><span class="hs-identifier hs-var">expr</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;catchIO (getEnv \&quot;&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714723"><span class="hs-identifier hs-var">var'</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\&quot;)&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-226"></span><span>                              </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; (\\_ -&gt; &quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714724"><span class="hs-identifier hs-var">expr</span></a></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;)&quot;</span></span><span>
</span><span id="line-227"></span><span>          </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679714723"><span class="annot"><span class="annottext">var' :: String
</span><a href="#local-6989586621679714723"><span class="hs-identifier hs-var hs-var">var'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; String -&gt; String
</span><a href="Distribution.Simple.Build.PathsModule.html#pkgPathEnvVar"><span class="hs-identifier hs-var">pkgPathEnvVar</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714725"><span class="hs-identifier hs-var">var</span></a></span><span>
</span><span id="line-228"></span><span>
</span><span id="line-229"></span><span>        </span><span class="hs-comment">-- In several cases we cannot make relocatable installations</span><span>
</span><span id="line-230"></span><span>        </span><span id="local-6989586621679714823"><span class="annot"><span class="annottext">absolute :: Bool
</span><a href="#local-6989586621679714823"><span class="hs-identifier hs-var hs-var">absolute</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-231"></span><span>             </span><span class="annot"><span class="annottext">PackageDescription -&gt; Bool
</span><a href="Distribution.Types.PackageDescription.html#hasLibs"><span class="hs-identifier hs-var">hasLibs</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>        </span><span class="hs-comment">-- we can only make progs relocatable</span><span>
</span><span id="line-232"></span><span>          </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">Maybe String -&gt; Bool
forall a. Maybe a -&gt; Bool
</span><a href="../../base/src/Data.Maybe.html#isNothing"><span class="hs-identifier hs-var">isNothing</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679714758"><span class="hs-identifier hs-var">flat_bindirrel</span></a></span><span> </span><span class="hs-comment">-- if the bin dir is an absolute path</span><span>
</span><span id="line-233"></span><span>          </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><span class="hs-operator hs-var">||</span></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool
</span><span class="hs-identifier hs-var">not</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CompilerFlavor -&gt; Bool
</span><a href="#local-6989586621679714718"><span class="hs-identifier hs-var">supportsRelocatableProgs</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Compiler -&gt; CompilerFlavor
</span><a href="Distribution.Simple.Compiler.html#compilerFlavor"><span class="hs-identifier hs-var">compilerFlavor</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679714832"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-234"></span><span>
</span><span id="line-235"></span><span>        </span><span id="local-6989586621679714817"><span class="annot"><span class="annottext">reloc :: Bool
</span><a href="#local-6989586621679714817"><span class="hs-identifier hs-var hs-var">reloc</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Bool
</span><a href="Distribution.Types.LocalBuildInfo.html#relocatable"><span class="hs-identifier hs-var hs-var">relocatable</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679714832"><span class="hs-identifier hs-var">lbi</span></a></span><span>
</span><span id="line-236"></span><span>
</span><span id="line-237"></span><span>        </span><span id="local-6989586621679714718"><span class="annot"><span class="annottext">supportsRelocatableProgs :: CompilerFlavor -&gt; Bool
</span><a href="#local-6989586621679714718"><span class="hs-identifier hs-var hs-var">supportsRelocatableProgs</span></a></span></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#buildOS"><span class="hs-identifier hs-var">buildOS</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-238"></span><span>                           </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#Windows"><span class="hs-identifier hs-var">Windows</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-239"></span><span>                           </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-240"></span><span>        </span><span class="annot"><a href="#local-6989586621679714718"><span class="hs-identifier hs-var">supportsRelocatableProgs</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHCJS"><span class="hs-identifier hs-var">GHCJS</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#buildOS"><span class="hs-identifier hs-var">buildOS</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-241"></span><span>                           </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#Windows"><span class="hs-identifier hs-var">Windows</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>
</span><span id="line-242"></span><span>                           </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-243"></span><span>        </span><span class="annot"><a href="#local-6989586621679714718"><span class="hs-identifier hs-var">supportsRelocatableProgs</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><span class="hs-identifier">_</span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-244"></span><span>
</span><span id="line-245"></span><span>        </span><span id="local-6989586621679714808"><span class="annot"><span class="annottext">paths_modulename :: ModuleName
</span><a href="#local-6989586621679714808"><span class="hs-identifier hs-var hs-var">paths_modulename</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageDescription -&gt; ModuleName
</span><a href="Distribution.Simple.BuildPaths.html#autogenPathsModuleName"><span class="hs-identifier hs-var">autogenPathsModuleName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714833"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span>
</span><span id="line-246"></span><span>
</span><span id="line-247"></span><span>        </span><span id="local-6989586621679714751"><span class="annot"><span class="annottext">get_prefix_stuff :: String
</span><a href="#local-6989586621679714751"><span class="hs-identifier hs-var hs-var">get_prefix_stuff</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Arch -&gt; String
</span><a href="Distribution.Simple.Build.PathsModule.html#get_prefix_win32"><span class="hs-identifier hs-var">get_prefix_win32</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714825"><span class="hs-identifier hs-var">supports_cpp</span></a></span><span> </span><span class="annot"><span class="annottext">Arch
</span><a href="Distribution.System.html#buildArch"><span class="hs-identifier hs-var">buildArch</span></a></span><span>
</span><span id="line-248"></span><span>
</span><span id="line-249"></span><span>        </span><span id="local-6989586621679714762"><span class="annot"><span class="annottext">path_sep :: String
</span><a href="#local-6989586621679714762"><span class="hs-identifier hs-var hs-var">path_sep</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. Show a =&gt; a -&gt; String
</span><a href="../../base/src/GHC.Show.html#show"><span class="hs-identifier hs-var">show</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Char
</span><a href="../../filepath/src/System.FilePath.Windows.html#pathSeparator"><span class="hs-identifier hs-var">pathSeparator</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-250"></span><span>
</span><span id="line-251"></span><span>        </span><span id="local-6989586621679714825"><span class="annot"><span class="annottext">supports_cpp :: Bool
</span><a href="#local-6989586621679714825"><span class="hs-identifier hs-var hs-var">supports_cpp</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714822"><span class="hs-identifier hs-var">supports_language_pragma</span></a></span><span>
</span><span id="line-252"></span><span>        </span><span id="local-6989586621679714824"><span class="annot"><span class="annottext">supports_rebindable_syntax :: Bool
</span><a href="#local-6989586621679714824"><span class="hs-identifier hs-var hs-var">supports_rebindable_syntax</span></a></span></span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Version -&gt; Bool
</span><a href="#local-6989586621679714705"><span class="hs-identifier hs-var">ghc_newer_than</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">7</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-253"></span><span>        </span><span id="local-6989586621679714822"><span class="annot"><span class="annottext">supports_language_pragma :: Bool
</span><a href="#local-6989586621679714822"><span class="hs-identifier hs-var hs-var">supports_language_pragma</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Version -&gt; Bool
</span><a href="#local-6989586621679714705"><span class="hs-identifier hs-var">ghc_newer_than</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">6</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-254"></span><span>        </span><span id="local-6989586621679714820"><span class="annot"><span class="annottext">supports_missing_safehaskell :: Bool
</span><a href="#local-6989586621679714820"><span class="hs-identifier hs-var hs-var">supports_missing_safehaskell</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Version -&gt; Bool
</span><a href="#local-6989586621679714705"><span class="hs-identifier hs-var">ghc_newer_than</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[Int] -&gt; Version
</span><a href="Distribution.Types.Version.html#mkVersion"><span class="hs-identifier hs-var">mkVersion</span></a></span><span> </span><span class="hs-special">[</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">10</span></span><span class="hs-special">,</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">1</span></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-255"></span><span>
</span><span id="line-256"></span><span>        </span><span id="local-6989586621679714705"><span class="annot"><span class="annottext">ghc_newer_than :: Version -&gt; Bool
</span><a href="#local-6989586621679714705"><span class="hs-identifier hs-var hs-var">ghc_newer_than</span></a></span></span><span> </span><span id="local-6989586621679714703"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679714703"><span class="hs-identifier hs-var">minVersion</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-257"></span><span>          </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">CompilerFlavor -&gt; Compiler -&gt; Maybe Version
</span><a href="Distribution.Simple.Compiler.html#compilerCompatVersion"><span class="hs-identifier hs-var">compilerCompatVersion</span></a></span><span> </span><span class="annot"><span class="annottext">CompilerFlavor
</span><a href="Distribution.Compiler.html#GHC"><span class="hs-identifier hs-var">GHC</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">LocalBuildInfo -&gt; Compiler
</span><a href="Distribution.Types.LocalBuildInfo.html#compiler"><span class="hs-identifier hs-var hs-var">compiler</span></a></span><span> </span><span class="annot"><span class="annottext">LocalBuildInfo
</span><a href="#local-6989586621679714832"><span class="hs-identifier hs-var">lbi</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-258"></span><span>            </span><span class="annot"><span class="annottext">Maybe Version
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span>
</span><span id="line-259"></span><span>            </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Just"><span class="hs-identifier hs-type">Just</span></a></span><span> </span><span id="local-6989586621679714701"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679714701"><span class="hs-identifier hs-var">version</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679714701"><span class="hs-identifier hs-var">version</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; VersionRange -&gt; Bool
</span><a href="Distribution.Types.VersionRange.html#withinRange"><span class="hs-operator hs-var">`withinRange`</span></a></span><span> </span><span class="annot"><span class="annottext">Version -&gt; VersionRange
</span><a href="Distribution.Types.VersionRange.Internal.html#orLaterVersion"><span class="hs-identifier hs-var">orLaterVersion</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679714703"><span class="hs-identifier hs-var">minVersion</span></a></span><span>
</span><span id="line-260"></span><span>
</span><span id="line-261"></span><span class="hs-comment">-- | Generates the name of the environment variable controlling the path</span><span>
</span><span id="line-262"></span><span class="hs-comment">-- component of interest.</span><span>
</span><span id="line-263"></span><span class="hs-comment">--</span><span>
</span><span id="line-264"></span><span class="hs-comment">-- Note: The format of these strings is part of Cabal's public API;</span><span>
</span><span id="line-265"></span><span class="hs-comment">-- changing this function constitutes a *backwards-compatibility* break.</span><span>
</span><span id="line-266"></span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#pkgPathEnvVar"><span class="hs-identifier hs-type">pkgPathEnvVar</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageDescription.html#PackageDescription"><span class="hs-identifier hs-type">PackageDescription</span></a></span><span>
</span><span id="line-267"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>     </span><span class="hs-comment">-- ^ path component; one of \&quot;bindir\&quot;, \&quot;libdir\&quot;,</span><span>
</span><span id="line-268"></span><span>                            </span><span class="hs-comment">-- \&quot;datadir\&quot;, \&quot;libexecdir\&quot;, or \&quot;sysconfdir\&quot;</span><span>
</span><span id="line-269"></span><span>              </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>     </span><span class="hs-comment">-- ^ environment variable name</span><span>
</span><span id="line-270"></span><span id="pkgPathEnvVar"><span class="annot"><span class="annottext">pkgPathEnvVar :: PackageDescription -&gt; String -&gt; String
</span><a href="Distribution.Simple.Build.PathsModule.html#pkgPathEnvVar"><span class="hs-identifier hs-var hs-var">pkgPathEnvVar</span></a></span></span><span> </span><span id="local-6989586621679714698"><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714698"><span class="hs-identifier hs-var">pkg_descr</span></a></span></span><span> </span><span id="local-6989586621679714697"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714697"><span class="hs-identifier hs-var">var</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-271"></span><span>    </span><span class="annot"><span class="annottext">PackageName -&gt; String
</span><a href="#local-6989586621679714696"><span class="hs-identifier hs-var">showPkgName</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageDescription -&gt; PackageName
forall pkg. Package pkg =&gt; pkg -&gt; PackageName
</span><a href="Distribution.Package.html#packageName"><span class="hs-identifier hs-var">packageName</span></a></span><span> </span><span class="annot"><span class="annottext">PackageDescription
</span><a href="#local-6989586621679714698"><span class="hs-identifier hs-var">pkg_descr</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;_&quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714697"><span class="hs-identifier hs-var">var</span></a></span><span>
</span><span id="line-272"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-273"></span><span>        </span><span id="local-6989586621679714696"><span class="annot"><span class="annottext">showPkgName :: PackageName -&gt; String
</span><a href="#local-6989586621679714696"><span class="hs-identifier hs-var hs-var">showPkgName</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Char -&gt; Char) -&gt; String -&gt; String
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Char -&gt; Char
</span><a href="#local-6989586621679714692"><span class="hs-identifier hs-var">fixchar</span></a></span><span> </span><span class="annot"><span class="annottext">(String -&gt; String)
-&gt; (PackageName -&gt; String) -&gt; PackageName -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">PackageName -&gt; String
forall a. Pretty a =&gt; a -&gt; String
</span><a href="Distribution.Pretty.html#prettyShow"><span class="hs-identifier hs-var">prettyShow</span></a></span><span>
</span><span id="line-274"></span><span>        </span><span id="local-6989586621679714692"><span class="annot"><span class="annottext">fixchar :: Char -&gt; Char
</span><a href="#local-6989586621679714692"><span class="hs-identifier hs-var hs-var">fixchar</span></a></span></span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'-'</span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char
</span><span class="hs-char">'_'</span></span><span>
</span><span id="line-275"></span><span>        </span><span class="annot"><a href="#local-6989586621679714692"><span class="hs-identifier hs-var">fixchar</span></a></span><span> </span><span id="local-6989586621679714690"><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679714690"><span class="hs-identifier hs-var">c</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Char
</span><a href="#local-6989586621679714690"><span class="hs-identifier hs-var">c</span></a></span><span>
</span><span id="line-276"></span><span>
</span><span id="line-277"></span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#get_prefix_reloc_stuff"><span class="hs-identifier hs-type">get_prefix_reloc_stuff</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-278"></span><span id="get_prefix_reloc_stuff"><span class="annot"><span class="annottext">get_prefix_reloc_stuff :: String
</span><a href="Distribution.Simple.Build.PathsModule.html#get_prefix_reloc_stuff"><span class="hs-identifier hs-var hs-var">get_prefix_reloc_stuff</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-279"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getPrefixDirReloc :: FilePath -&gt; IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-280"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getPrefixDirReloc dirRel = do\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-281"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  exePath &lt;- getExecutablePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-282"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  let (bindir,_) = splitFileName exePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-283"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  return ((bindir `minusFileName` bindirrel) `joinFileName` dirRel)\n&quot;</span></span><span>
</span><span id="line-284"></span><span>
</span><span id="line-285"></span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#get_prefix_win32"><span class="hs-identifier hs-type">get_prefix_win32</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.System.html#Arch"><span class="hs-identifier hs-type">Arch</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-286"></span><span id="get_prefix_win32"><span class="annot"><span class="annottext">get_prefix_win32 :: Bool -&gt; Arch -&gt; String
</span><a href="Distribution.Simple.Build.PathsModule.html#get_prefix_win32"><span class="hs-identifier hs-var hs-var">get_prefix_win32</span></a></span></span><span> </span><span id="local-6989586621679714689"><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714689"><span class="hs-identifier hs-var">supports_cpp</span></a></span></span><span> </span><span id="local-6989586621679714688"><span class="annot"><span class="annottext">Arch
</span><a href="#local-6989586621679714688"><span class="hs-identifier hs-var">arch</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-287"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getPrefixDirRel :: FilePath -&gt; IO FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-288"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;getPrefixDirRel dirRel = try_size 2048 -- plenty, PATH_MAX is 512 under Win32.\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-289"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  where\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-290"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;    try_size size = allocaArray (fromIntegral size) $ \\buf -&gt; do\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-291"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;        ret &lt;- c_GetModuleFileName nullPtr buf size\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-292"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;        case ret of\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-293"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;          0 -&gt; return (prefix `joinFileName` dirRel)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-294"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;          _ | ret &lt; size -&gt; do\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-295"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;              exePath &lt;- peekCWString buf\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-296"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;              let (bindir,_) = splitFileName exePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-297"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;              return ((bindir `minusFileName` bindirrel) `joinFileName` dirRel)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-298"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;            | otherwise  -&gt; try_size (size * 2)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-299"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-300"></span><span>  </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714689"><span class="hs-identifier hs-var">supports_cpp</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-301"></span><span>    </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">False</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;&quot;</span></span><span>
</span><span id="line-302"></span><span>    </span><span class="annot"><span class="annottext">Bool
</span><span class="hs-identifier hs-var">True</span></span><span>  </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#if defined(i386_HOST_ARCH)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-303"></span><span>             </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;# define WINDOWS_CCONV stdcall\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-304"></span><span>             </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#elif defined(x86_64_HOST_ARCH)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-305"></span><span>             </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;# define WINDOWS_CCONV ccall\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-306"></span><span>             </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#else\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-307"></span><span>             </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;# error Unknown mingw32 arch\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-308"></span><span>             </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;#endif\n&quot;</span></span><span class="hs-special">)</span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-309"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;foreign import &quot;</span></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679714687"><span class="hs-identifier hs-var">cconv</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot; unsafe \&quot;windows.h GetModuleFileNameW\&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-310"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  c_GetModuleFileName :: Ptr () -&gt; CWString -&gt; Int32 -&gt; IO Int32\n&quot;</span></span><span>
</span><span id="line-311"></span><span>    </span><span class="hs-keyword">where</span><span> </span><span id="local-6989586621679714687"><span class="annot"><span class="annottext">cconv :: String
</span><a href="#local-6989586621679714687"><span class="hs-identifier hs-var hs-var">cconv</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621679714689"><span class="hs-identifier hs-var">supports_cpp</span></a></span><span>
</span><span id="line-312"></span><span>                     </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;WINDOWS_CCONV&quot;</span></span><span>
</span><span id="line-313"></span><span>                     </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">Arch
</span><a href="#local-6989586621679714688"><span class="hs-identifier hs-var">arch</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-314"></span><span>                            </span><span class="annot"><span class="annottext">Arch
</span><a href="Distribution.System.html#I386"><span class="hs-identifier hs-var">I386</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;stdcall&quot;</span></span><span>
</span><span id="line-315"></span><span>                            </span><span class="annot"><span class="annottext">Arch
</span><a href="Distribution.System.html#X86_64"><span class="hs-identifier hs-var">X86_64</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ccall&quot;</span></span><span>
</span><span id="line-316"></span><span>                            </span><span class="annot"><span class="annottext">Arch
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String -&gt; String
forall a. HasCallStack =&gt; String -&gt; a
</span><a href="../../base/src/GHC.Err.html#error"><span class="hs-identifier hs-var">error</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;win32 supported only with I386, X86_64&quot;</span></span><span>
</span><span id="line-317"></span><span>
</span><span id="line-318"></span><span class="annot"><a href="Distribution.Simple.Build.PathsModule.html#filename_stuff"><span class="hs-identifier hs-type">filename_stuff</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>
</span><span id="line-319"></span><span id="filename_stuff"><span class="annot"><span class="annottext">filename_stuff :: String
</span><a href="Distribution.Simple.Build.PathsModule.html#filename_stuff"><span class="hs-identifier hs-var hs-var">filename_stuff</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-320"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;minusFileName :: FilePath -&gt; String -&gt; FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-321"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;minusFileName dir \&quot;\&quot;     = dir\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-322"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;minusFileName dir \&quot;.\&quot;    = dir\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-323"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;minusFileName dir suffix =\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-324"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  minusFileName (fst (splitFileName dir)) (fst (splitFileName suffix))\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-325"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-326"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;joinFileName :: String -&gt; String -&gt; FilePath\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-327"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;joinFileName \&quot;\&quot;  fname = fname\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-328"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;joinFileName \&quot;.\&quot; fname = fname\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-329"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;joinFileName dir \&quot;\&quot;    = dir\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-330"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;joinFileName dir fname\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-331"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  | isPathSeparator (last dir) = dir++fname\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-332"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  | otherwise                  = dir++pathSeparator:fname\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-333"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-334"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;splitFileName :: FilePath -&gt; (String, String)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-335"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;splitFileName p = (reverse (path2++drive), reverse fname)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-336"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;  where\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-337"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;    (path,drive) = case p of\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-338"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;       (c:':':p') -&gt; (reverse p',[':',c])\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-339"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;       _          -&gt; (reverse p ,\&quot;\&quot;)\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-340"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;    (fname,path1) = break isPathSeparator path\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-341"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;    path2 = case path1 of\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-342"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;      []                           -&gt; \&quot;.\&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-343"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;      [_]                          -&gt; path1   -- don't remove the trailing slash if \n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-344"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;                                              -- there is only one character\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-345"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;      (c:path') | isPathSeparator c -&gt; path'\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-346"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;      _                             -&gt; path1\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-347"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-348"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pathSeparator :: Char\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-349"></span><span>  </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#buildOS"><span class="hs-identifier hs-var">buildOS</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-350"></span><span>       </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#Windows"><span class="hs-identifier hs-var">Windows</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pathSeparator = '\\\\'\n&quot;</span></span><span>
</span><span id="line-351"></span><span>       </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;pathSeparator = '/'\n&quot;</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-352"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-353"></span><span>  </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isPathSeparator :: Char -&gt; Bool\n&quot;</span></span><span class="annot"><span class="annottext">String -&gt; String -&gt; String
forall a. [a] -&gt; [a] -&gt; [a]
</span><a href="../../base/src/GHC.Base.html#%2B%2B"><span class="hs-operator hs-var">++</span></a></span><span>
</span><span id="line-354"></span><span>  </span><span class="hs-special">(</span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#buildOS"><span class="hs-identifier hs-var">buildOS</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-355"></span><span>       </span><span class="annot"><span class="annottext">OS
</span><a href="Distribution.System.html#Windows"><span class="hs-identifier hs-var">Windows</span></a></span><span>   </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isPathSeparator c = c == '/' || c == '\\\\'\n&quot;</span></span><span>
</span><span id="line-356"></span><span>       </span><span class="annot"><span class="annottext">OS
</span><span class="hs-identifier">_</span></span><span>         </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;isPathSeparator c = c == '/'\n&quot;</span></span><span class="hs-special">)</span><span>
</span><span id="line-357"></span></pre></body></html>